package design;

/**
 * 单例 饿汉模式
 * 类加载过程：
 * 1，加载二进制数据到内存中， 生成对应的Class数据结构， 　
 * 2，连接： a. 验证， b.准备（给类的静态成员变量赋默认值），c.解析
 * 3，初始化： 给类的静态变量赋初值
 */
public class HungrySingleton {

    public  static HungrySingleton instance= new HungrySingleton();

    private HungrySingleton(){
        //反射攻击防护
        if (HungrySingleton.instance !=null){
            throw new RuntimeException("单例不允许多个实例");
        }
    }
    public static HungrySingleton getInstance(){
        return instance;
    }

}
